package com.note.app.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

/**
 * 搜索请求DTO
 */
@Data
@Schema(description = "搜索请求参数")
public class SearchRequestDTO {
    
    /**
     * 搜索关键词
     */
    @Schema(description = "搜索关键词", example = "Spring Boot")
    private String keyword;
    
    /**
     * 是否搜索内容
     */
    @Schema(description = "是否搜索内容", example = "true")
    private Boolean searchContent = true;
    
    /**
     * 是否搜索标题
     */
    @Schema(description = "是否搜索标题", example = "true")
    private Boolean searchTitle = true;
    
    /**
     * 是否搜索标签
     */
    @Schema(description = "是否搜索标签", example = "false")
    private Boolean searchTags = false;
    
    /**
     * 包含标签列表
     */
    @Schema(description = "包含标签列表", example = "[\"Java\", \"Spring\"]")
    private List<String> includeTags;
    
    /**
     * 集合ID
     */
    @Schema(description = "集合ID", example = "1")
    private Long collectionId;
    
    /**
     * 是否包含公开笔记
     */
    @Schema(description = "是否包含公开笔记", example = "false")
    private Boolean includePublic = false;
    
    /**
     * 分页参数-页码
     */
    @Schema(description = "页码，从0开始", example = "0")
    private Integer page = 0;
    
    /**
     * 分页参数-每页大小
     */
    @Schema(description = "每页大小", example = "10")
    private Integer size = 10;
} 